Implement.
authorRichard Hult <richard@imendio.com>
Mon, 30 Apr 2007 17:42:49 +0000 (17:42 +0000)
committerRichard Hult <rhult@src.gnome.org>
Mon, 30 Apr 2007 17:42:49 +0000 (17:42 +0000)
2007-04-30  Richard Hult  <richard@imendio.com>

* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_opacity):
Implement.

svn path=/trunk/; revision=17743

ChangeLog
gdk/quartz/gdkwindow-quartz.c

index a90eb2f92aae714425b065185021dc83b86eb755..00cf6f9dd9f1cc7aa8681173e9f1cd1c49790824 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-04-30  Richard Hult  <richard@imendio.com>
+
+       * gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_opacity):
+       Implement.
+
 2007-04-30  Matthias Clasen  <mclasen@redhat.com>
 
        * modules/printbackends/cups/gtkprintbackendcups.c: Get all
index 600306418028bec8e90eaf00f8991afa64582540..07ecd3c1eb073a39ca57ce244afda2849041cc1e 100644 (file)
@@ -29,6 +29,9 @@ static gpointer parent_class;
 static GSList *update_windows = NULL;
 static guint update_idle = 0;
 
+#define WINDOW_IS_TOPLEVEL(window)                \
+  (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD && \
+   GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN)
 
 NSView *
 gdk_quartz_window_get_nsview (GdkWindow *window)
@@ -2024,3 +2027,24 @@ gdk_window_beep (GdkWindow *window)
 {
   gdk_display_beep (_gdk_display);
 }
+
+void
+gdk_window_set_opacity (GdkWindow *window,
+                       gdouble    opacity)
+{
+  GdkWindowObject *private = (GdkWindowObject *) window;
+  GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
+
+  g_return_if_fail (GDK_IS_WINDOW (window));
+  g_return_if_fail (WINDOW_IS_TOPLEVEL (window));
+
+  if (GDK_WINDOW_DESTROYED (window))
+    return;
+
+  if (opacity < 0)
+    opacity = 0;
+  else if (opacity > 1)
+    opacity = 1;
+
+  [impl->toplevel setAlphaValue: opacity];
+}